How to dynamically use different existing database in django - mysql

i have around ten to twenty databases with same structure in mysql,
and how can i load those database dynamically in django?
(there will be a table storing those databases name, which may add/delete during the programme)
edit:
the dynamically way means that while running my website, create the orm and do somethings of another database by data input by users or which stored in the database
those database are:
1)with the same structure
2)only the name of database is different
3)not define in my setting.py when the web is started

Django has a built-in feature to support multiple databases check it out here https://docs.djangoproject.com/en/3.0/topics/db/multi-db/#multiple-databases

Related

Google App Maker - Reference multiple tables from External MySql Database

I recently began using Google App Maker and in order to reference multiple tables from an external MySql Database, do I have to create multiple Data Models for each table or do I have to create multiple datasources inside one Data Model and adding all the fields in it? The database has 15 tables in total.
You need to create model per table.
You can connect your existing database to App Maker (in application settings) and import tables as models (create model -> existing model). So you don't need to re-create fields.
Please be aware that as you change models in App Maker the database from application settings changes accordingly. So I would recommend use prototype database in application settings and production one in production deployment.

How do I add a way for members to join/Log in and have profiles to my website if my SQL server doesn't have the option for more than the one database

I was looking into how to add a create user account/login to my website, so I could have members join and come back, etc and ended up finding out in order to do that, I'd need to create a new database in my SQL, to store the users credentials, I dont have the option to create any new databases by my webhost. Only the one database is what I can use. Could I just add this to my existing database? Do I really need more than 1 database on SQL for my website? If so, could I add another SQL server direct on my computer and use both, Mine and the web host one where I'm creating the site to manage my website? Im sorry for the few questions, Im really new to all this and so confused and overwhelmed.
You can create multiple tables in same database.just make a table with fields such as user id,password etc. and use it for saving,fetching user details using sql queries.
Could I just add this to my existing database?
Yes, you can tables to the existing database.
Do I really need more than 1 database on SQL for my website?
There are a lot of websites that use just one database. Some websites use connections to multiple databases. What information is stored in which database is frequently the result of factors other than the website. The ability to connect to multiple databases means that a website could use authentication/authorization info from one database, store user profiles and submissions in another, and read information from other sources (for example, historical stock prices, stored in another database.
All of that information could be stored in a single database. Having them as separate databases means that the databases can be managed separately (frequencye of backups, replication to DR site) and makes it easier to share the database across multiple applications. (For example, we would probably want employee payroll and health care information stored in a separate database, with separate access controls.
Could I add another SQL server direct on my computer and use both, Mine and the web host one where I'm creating the site to manage my website?
It may be technically possible to do that, but that's not the way you want to go. That would add another dependency... the website at the web hosting provider would be dependent on having access to another database, which is not being backed up and managed along with your website.

How to add External data source into MySQL?

I have two database. One is FileMaker database and another one is mysql. I want to use this database in mysql.I created odbc data base connection so that I can sync both database e.g when I maker changes in mysql database then FileMaker database should also be updated. Is this thing possible in mysql? If no then in which open source database this thing is supported?
The best way to do that with FileMaker would be to hook the MySQL database up to FileMaker via External SQL Sources (ESS).
You can create layouts in FileMaker that display the actual MySQL data, and the MySQL can be used in FileMaker scripts, calculations, etc. just like any other FileMaker data.
You can choose to simply build layouts that are based on MySQL tables, or you can create scripts in FileMaker to copy data from MySQL based layouts to actual FileMaker based layouts.

MySQL Workbench 6 - difference in creating database / schema as a model and within a MySQL Connector

I was rooting MySQL Workbench and I had a TILT.
In MySQL Workbench initial screen there are two things I did not understand.
When creating a connection and access this, I have the option of creating schemas / databases and create your tables, scripts, etc. .. If I create a database named example, I only have the option to create the tables by script, not by EER diagram.
Returning to the MySQL Workbench initial screen, there is also the option of creating a model (for me it is a schema / database in the same way). If we create a model named example, as in the previous item within this you can create scripts, views, tables, and have the distinction of creating EER diagrams.
What I wanna know is:
Why there are options of create schemas / databases as models and within MySQL Connections?
why I can create schemas / databases with the same name in both options to create schemas / databases (MySQL Connectors and Models) without naming conflicts happen?
If they are the same thing, why when I create a model MySQL Connector does not synchronize automatically to recognize the model?
If they are the same thing, that I can create EER Diagram for schema / database in the Model and not in MySQL Connector?
Thanks to anyone who can answer me these questions.
You started from the wrong premise. Models and connections are two completely different things (why would there be different sections in MySQL Workbench if not?).
Via connections you can reach a server and work on it. Create users, retrieve data, create db objects etc.
Modeling is however the task to design a database structure. All the objects you create only exist within that model. You can design your structure from a higher level of view instead of going down to the pure SQL (which you can too, if you want). Nothing reaches a server until you either forward engineer your model or synchronize it to that server. The first is simply creating all the objects as you designed them, the latter is a two-way 'merge', that is, a diff is generated between the model and the server content and changes are applied to make the structure on the server be the same as in the model and vice versa.
Understanding that fundamental difference answer all your questions above.

Read similar tables from multiple MySQL databases using WS02

We got an application wherein multi-tenancy is implemented by having a unique database (MYSQL) for each tenant. The table structures are the same. I got a requirement to list all expiring products for each of the tenants, and I was wondering how can I incorporate all those in one data web service in WSO2? I know that I can create a query with the database prefixing the table:
eg. select DB1.products.id, DB1.products.name from DB1.products
Do I need to define a data source for each database (100+ tenants), and can I specify the database name as an input variable in the data service operation? ie. select ?.products.id, ?.products.name from ?.products
Thank you for your help.
Cheers,
Erwin
If your intention is to have a generic data service that would retrieve those tenant specific information from those database dedicated to each tenant, as I see, the most cleanest way to achieve this would be by generifying your SQL queries and making the used datasource dynamically discoverable.
Since you're using 100+ tenants(WOW that's a huge number :)) obviously you might be having 100+ databases created for those tenants too. So, you would need to create a carbon datasource with the same name in each tenant (let's say "testDS") wrapping the tenant specific database configurations such as JDBC URL, credentials, etc. Next, if you've come up with your dataservice configuring the used datasource to be the aforementioned datasource, at runtime, it would correctly pick up the appropriate tenant specific datasource as the datasource feature completely supports multi tenancy. That would prevent you from passing the database name, etc to the SQL query and make your data service configuration more clean, generic thereby making it more maintainable.