summaryrefslogtreecommitdiff
path: root/odb/relational/schema.hxx
AgeCommit message (Collapse)AuthorFilesLines
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-2/+8
Translates to the ON DELETE SQL clause.
2013-09-15In post-migration do things in reverse orderBoris Kolpackov1-62/+9
2013-09-15Diagnose change of polymorphic base, table kindBoris Kolpackov1-4/+2
2013-09-15Cleanup polymorphic base tables when dropping derived oneBoris Kolpackov1-3/+78
2013-04-26Add support for extra database info in primary keyBoris Kolpackov1-2/+2
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-2/+5
2013-04-25Add support for schema version tableBoris Kolpackov1-0/+81
2013-04-10Generate embedded schema in single function instead of one per objectBoris Kolpackov1-263/+0
2013-04-10Clean up class order in schema generatorsBoris Kolpackov1-1/+1
2013-04-10Get rid of ALTER TABLE callback since it is the same for all databasesBoris Kolpackov1-8/+2
2013-04-10Use single ALTER TABLE to add foreign keys on pass 2Boris Kolpackov1-78/+67
2013-04-10Improve output of columns in PRIMARY KEY, FOREIGN KEY, and REFERENCESBoris Kolpackov1-26/+13
2013-04-10Write NULL/NOT NULL before DEFAULT in generated schemasBoris Kolpackov1-5/+10
This way we avoid DEFAULT NULL NULL, except for Oracle which insists on a specific order.
2013-04-10Generate add/drop foreign key migration statementsBoris Kolpackov1-167/+435
Also add the --fkeys-deferrable-mode option. General schemas generation rework.
2013-04-10Add NOT NULL column without default value initially as NULLBoris Kolpackov1-14/+49
2013-04-10Explicitly specify NULL for nullable columns in generated schemaBoris Kolpackov1-2/+4
2013-04-10Generate alter column migration statementsBoris Kolpackov1-12/+148
2013-04-10Generate add/drop column migration statementsBoris Kolpackov1-30/+172
2013-04-10Generate add/drop index migration statementsBoris Kolpackov1-20/+196
2013-04-10Generate add/drop table migration statementsBoris Kolpackov1-51/+108
2013-04-10Add initial support for database model serialization to XMLBoris Kolpackov1-1/+1
2013-02-09Update copyright yearBoris Kolpackov1-1/+1
2012-10-29Add support for database prefixes in command line interfaceBoris Kolpackov1-1/+1
2012-10-08Ground work for multi-database supportBoris Kolpackov1-1/+3
All generated code now includes database id. The database-specific database class interface has been updated to include all the database operations. The database-specific tests now use this interface.
2012-09-13Add --omit-drop and --omit-create optionsBoris Kolpackov1-3/+10
2012-07-27Add support for defining indexesBoris Kolpackov1-4/+23
New db pragma qualifier: index. New tests: common/index, mysql/index, pgsql/index.
2012-07-27Move indexes from model scope to table scopeBoris Kolpackov1-106/+99
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-07-17Implement multi-pass table dropping for SQL ServerBoris Kolpackov1-11/+35
We have to first drop constraints before dropping tables in case the tables are dropped in a wrong order or there are circular dependencies.
2012-03-05Add support for generating schema creation code into separate C++ fileBoris Kolpackov1-52/+292
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-9/+27
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-26Output DEFAULT clause before NULL specification when generating schemaConstantin Michael1-3/+4
Oracle requires that the DEFAULT clause appear before any column contraints are specified when creating a table.
2011-10-24Generate database schema from database model instead of C++ modelBoris Kolpackov1-332/+376
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-21Add support for const data membersBoris Kolpackov1-1/+1
Const data members are automatically treated as readonly. New test: const-member.
2011-10-21Add schema_file implementation to support schema file header and footer hooksConstantin Michael1-0/+19
2011-10-21Minimize Oracle schema_emitter implementationConstantin Michael1-1/+1
2011-10-21Allow per database specialization of schema_emitterConstantin Michael1-0/+33
2011-09-16Support for views; integrated partBoris Kolpackov1-2/+6
2011-08-31Rename comp_value() predicate to composite()Boris Kolpackov1-2/+2
2011-08-31Cosmetic changes and cleanupsBoris Kolpackov1-11/+13
Rename some functions to have consistent names. Add object() predicate.
2011-08-28Add wrapper support for containersBoris Kolpackov1-4/+3
2011-08-28Add wrapper support for composite valuesBoris Kolpackov1-2/+2
NULL semantics for composite values is not yet supported.
2011-08-21Add support for multi-pass database schema dropBoris Kolpackov1-11/+43
2011-08-19Cosmetic changeBoris Kolpackov1-1/+1
2011-08-19Make container object_id reference the objectBoris Kolpackov1-2/+13
Make it ON DELETE CASCADE. Also in erase(), delete the container rows first.
2011-07-22Add pragma for setting type's or member's default valueBoris Kolpackov1-2/+55
New pragma: default. New test: default.
2011-07-22Add support for specifying extra column optionsBoris Kolpackov1-0/+7
New pragmas: options, id_options, index_options, key_options, and value_options.