summaryrefslogtreecommitdiff
path: root/odb/relational/mysql/schema.cxx
AgeCommit message (Collapse)AuthorFilesLines
2024-01-24Turn odb repository into muti-package repositoryKaren Arutyunov1-489/+0
Also remove the autoconf/make-based build system.
2020-02-13Drop copyright notice from source codeKaren Arutyunov1-1/+0
2019-01-16Update copyright yearKaren Arutyunov1-1/+1
2018-05-24Update copyright yearKaren Arutyunov1-1/+1
2017-04-06Map string keys to MySQL VARCHAR(128) instead of 255 to support 4-byte UTF-8Boris Kolpackov1-1/+1
This is a backwards-incompatible change in that it may change your schema. To obtain the old behavior you will have to explicitly re-map std::string with the id_type pragma or explicitly specify the database type for each affected id member with the type pragma.
2017-01-03Update copyright yearBoris Kolpackov1-1/+1
2015-02-06Update copyrightBoris Kolpackov1-1/+1
2013-12-04Implement on_delete pragma for object pointersBoris Kolpackov1-0/+18
Translates to the ON DELETE SQL clause.
2013-04-26Add support for extra database info in primary keyBoris Kolpackov1-1/+1
Use that to handle Oracle sequence name and SQLite lax auto ids.
2013-04-26Add support for table options in changelog, use to handle MySQL engineBoris Kolpackov1-10/+0
2013-04-25Add support for schema version tableBoris Kolpackov1-6/+41
2013-04-10Clean up class order in schema generatorsBoris Kolpackov1-44/+49
2013-04-10Get rid of ALTER TABLE callback since it is the same for all databasesBoris Kolpackov1-2/+2
2013-04-10Use single ALTER TABLE to add foreign keys on pass 2Boris Kolpackov1-30/+66
2013-04-10Generate add/drop foreign key migration statementsBoris Kolpackov1-192/+237
Also add the --fkeys-deferrable-mode option. General schemas generation rework.
2013-04-10Explicitly specify NULL for nullable columns in generated schemaBoris Kolpackov1-23/+0
2013-04-10Generate alter column migration statementsBoris Kolpackov1-0/+12
2013-04-10Generate add/drop index migration statementsBoris Kolpackov1-0/+15
2013-04-10Generate add/drop table migration statementsBoris Kolpackov1-29/+59
2013-02-09Update copyright yearBoris Kolpackov1-1/+1
2013-02-07Use multi-pass table creation in MySQLBoris Kolpackov1-25/+204
This deals with table creation order and circular dependencies. Unfortunately, there doesn't seem to be a way in MySQL to drop a foreign key only if it exists without resorting to stored procedures.
2012-12-12Add support for SQL name transformationsBoris Kolpackov1-12/+0
2012-07-27Add support for defining indexesBoris Kolpackov1-0/+30
New db pragma qualifier: index. New tests: common/index, mysql/index, pgsql/index.
2012-07-27Move indexes from model scope to table scopeBoris Kolpackov1-14/+0
Conceptually, indexes belong to tables and some databases (MySQL, MSSQL) indeed treat them as such (i.e., you can have indexes with the same name in different tables).
2012-01-29Update copyright yearBoris Kolpackov1-1/+1
2012-01-29Remove author field from file headerBoris Kolpackov1-1/+0
Too much effort to maintain.
2012-01-26Implement support for database schemaBoris Kolpackov1-3/+19
New pragma qualifier: namespace. New pragma specifier: schema. The table specifier was extended to accept a schema prefix. New option: --default- schema. The common/schema test was extended to cover the new functionality.
2011-10-24Generate database schema from database model instead of C++ modelBoris Kolpackov1-102/+69
We now first create the so-called database model from C++ model and then use that to generate the database schema. The new approach also adds more general support for primary/foreign keys, including multi- column keys. Finally, for MySQL we now generate out-of-line foreign key definitions. Because MySQL does not support deferred constraints checking, deferred foreign keys are written commented out, for documentation.
2011-10-21Use base implementation instead of duplicating codeBoris Kolpackov1-10/+8
2011-09-19Rename generation_failed exception to operation_failedBoris Kolpackov1-2/+2
A more generic name is required since it is now used in both generator and processor (and in the future may be used validator).
2011-07-22Add pragma for setting type's or member's default valueBoris Kolpackov1-0/+79
New pragma: default. New test: default.
2011-07-19New design for NULL semanticsBoris Kolpackov1-1/+17
Now, instead of being specified as part of the SQL type with the type pragma, there are separate null and not_null pragmas. The not_null pragma was used to control NULL-ness of object pointers. Now the two pragmas are used consistently for object pointers and simple values (and in the future will work for composite values and containers).
2011-03-21Create indexes in separate SQL statementsBoris Kolpackov1-1/+1
This is more vendor-neutral.
2011-03-21Separate auto increment from database typeBoris Kolpackov1-0/+16
2011-03-21Split MySQL code generator into common and db-specific partsBoris Kolpackov1-0/+53
The common part (in relational/) still has some MySQL-specific parts. Also, add the notion of the current context which is used to avoid explicitly passing the context object to every generator's c-tor.