mirror of
https://github.com/django/django.git
synced 2025-07-05 18:29:11 +00:00
[multi-db] Updated tests to expect pendings in dict format instead of
list. git-svn-id: http://code.djangoproject.com/svn/django/branches/multiple-db-support@3293 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
c1087076b4
commit
60947322a5
@ -131,11 +131,12 @@ False
|
|||||||
>>> artists[0]._meta.connection.settings == connections['django_test_db_a'].settings
|
>>> artists[0]._meta.connection.settings == connections['django_test_db_a'].settings
|
||||||
True
|
True
|
||||||
|
|
||||||
# When not using transaction management, model save will commit only
|
# When transactions are not managed, model save will commit only
|
||||||
# for the model's connection.
|
# for the model's connection.
|
||||||
|
|
||||||
>>> from django.db import transaction
|
>>> from django.db import transaction
|
||||||
>>> transaction.enter_transaction_management()
|
>>> transaction.enter_transaction_management()
|
||||||
|
>>> transaction.managed(False)
|
||||||
>>> a = Artist(name="Joan Miro", alive=False)
|
>>> a = Artist(name="Joan Miro", alive=False)
|
||||||
>>> w = Widget(code="99rbln", weight=1)
|
>>> w = Widget(code="99rbln", weight=1)
|
||||||
>>> a.save()
|
>>> a.save()
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
# For Python 2.3
|
||||||
|
if not hasattr(__builtins__, 'set'):
|
||||||
|
from sets import Set as set
|
||||||
|
|
||||||
"""
|
"""
|
||||||
>>> from django.db import models
|
>>> from django.db import models
|
||||||
>>> from django.db.backends.ansi import sql
|
>>> from django.db.backends.ansi import sql
|
||||||
@ -33,30 +37,30 @@
|
|||||||
([BoundStatement('CREATE TABLE "ansi_sql_car" (...);')], [])
|
([BoundStatement('CREATE TABLE "ansi_sql_car" (...);')], [])
|
||||||
>>> builder.models_already_seen
|
>>> builder.models_already_seen
|
||||||
[<class 'othertests.ansi_sql.Car'>]
|
[<class 'othertests.ansi_sql.Car'>]
|
||||||
>>> builder.models_already_seen = []
|
>>> builder.models_already_seen = set()
|
||||||
|
|
||||||
# test that styles are used
|
# test that styles are used
|
||||||
>>> builder.get_create_table(Car, style=mockstyle())
|
>>> builder.get_create_table(Car, style=mockstyle())
|
||||||
([BoundStatement('SQL_KEYWORD(CREATE TABLE) SQL_TABLE("ansi_sql_car") (...SQL_FIELD("id")...);')], [])
|
([BoundStatement('SQL_KEYWORD(CREATE TABLE) SQL_TABLE("ansi_sql_car") (...SQL_FIELD("id")...);')], [])
|
||||||
|
|
||||||
# test pending relationships
|
# test pending relationships
|
||||||
>>> builder.models_already_seen = []
|
>>> builder.models_already_seen = set()
|
||||||
>>> real_cnst = Mod._meta.connection_info.backend.supports_constraints
|
>>> real_cnst = Mod._meta.connection_info.backend.supports_constraints
|
||||||
>>> Mod._meta.connection_info.backend.supports_constraints = True
|
>>> Mod._meta.connection_info.backend.supports_constraints = True
|
||||||
>>> builder.get_create_table(Mod)
|
>>> builder.get_create_table(Mod)
|
||||||
([BoundStatement('CREATE TABLE "ansi_sql_mod" (..."car_id" integer NOT NULL,...);')], [BoundStatement('ALTER TABLE "ansi_sql_mod" ADD CONSTRAINT ... FOREIGN KEY ("car_id") REFERENCES "ansi_sql_car" ("id");')])
|
([BoundStatement('CREATE TABLE "ansi_sql_mod" (..."car_id" integer NOT NULL,...);')], {<class 'othertests.ansi_sql.Car'>: [BoundStatement('ALTER TABLE "ansi_sql_mod" ADD CONSTRAINT ... FOREIGN KEY ("car_id") REFERENCES "ansi_sql_car" ("id");')]})
|
||||||
>>> builder.models_already_seen = []
|
>>> builder.models_already_seen = set()
|
||||||
>>> builder.get_create_table(Car)
|
>>> builder.get_create_table(Car)
|
||||||
([BoundStatement('CREATE TABLE "ansi_sql_car" (...);')], [])
|
([BoundStatement('CREATE TABLE "ansi_sql_car" (...);')], {})
|
||||||
>>> builder.get_create_table(Mod)
|
>>> builder.get_create_table(Mod)
|
||||||
([BoundStatement('CREATE TABLE "ansi_sql_mod" (..."car_id" integer NOT NULL REFERENCES "ansi_sql_car" ("id"),...);')], [])
|
([BoundStatement('CREATE TABLE "ansi_sql_mod" (..."car_id" integer NOT NULL REFERENCES "ansi_sql_car" ("id"),...);')], {})
|
||||||
>>> Mod._meta.connection_info.backend.supports_constraints = real_cnst
|
>>> Mod._meta.connection_info.backend.supports_constraints = real_cnst
|
||||||
|
|
||||||
# test many-many
|
# test many-many
|
||||||
>>> builder.get_create_table(Collector)
|
>>> builder.get_create_table(Collector)
|
||||||
([BoundStatement('CREATE TABLE "ansi_sql_collector" (...);')], [])
|
([BoundStatement('CREATE TABLE "ansi_sql_collector" (...);')], {})
|
||||||
>>> builder.get_create_many_to_many(Collector)
|
>>> builder.get_create_many_to_many(Collector)
|
||||||
[BoundStatement('CREATE TABLE "ansi_sql_collector_cars" (...);')]
|
{<class 'othertests.ansi_sql.Car'>: [BoundStatement('CREATE TABLE "ansi_sql_collector_cars" (...);')]}
|
||||||
|
|
||||||
# test indexes
|
# test indexes
|
||||||
>>> builder.get_create_indexes(Car)
|
>>> builder.get_create_indexes(Car)
|
||||||
|
@ -87,11 +87,11 @@
|
|||||||
# use the default connection or a named connection.
|
# use the default connection or a named connection.
|
||||||
|
|
||||||
>>> DA.objects.install()
|
>>> DA.objects.install()
|
||||||
[]
|
{}
|
||||||
>>> QA.objects.install()
|
>>> QA.objects.install()
|
||||||
[]
|
{}
|
||||||
>>> QB.objects.install()
|
>>> QB.objects.install()
|
||||||
[]
|
{}
|
||||||
>>> DA.objects.all()
|
>>> DA.objects.all()
|
||||||
[]
|
[]
|
||||||
>>> list(QA.objects.all())
|
>>> list(QA.objects.all())
|
||||||
@ -107,25 +107,28 @@
|
|||||||
# statements that could not be executed because (for instance) they are
|
# statements that could not be executed because (for instance) they are
|
||||||
# meant to establish foreign key relationships to tables that don't
|
# meant to establish foreign key relationships to tables that don't
|
||||||
# exist. These are bound to the model's connection and should
|
# exist. These are bound to the model's connection and should
|
||||||
# be executed after all models in the app have been installed.
|
# be executed after all models in the app have been installed. The pending
|
||||||
|
# statments are returned as a dict keyed by the model which must be installed
|
||||||
|
# before the pending statements can be installed.
|
||||||
|
|
||||||
# NOTE: pretend db supports constraints for this test
|
# NOTE: pretend db supports constraints for this test
|
||||||
>>> real_cnst = PA._meta.connection_info.backend.supports_constraints
|
>>> real_cnst = PA._meta.connection_info.backend.supports_constraints
|
||||||
>>> PA._meta.connection_info.backend.supports_constraints = True
|
>>> PA._meta.connection_info.backend.supports_constraints = True
|
||||||
>>> result = PA.objects.install()
|
>>> result = PA.objects.install()
|
||||||
>>> result
|
>>> result
|
||||||
[BoundStatement('ALTER TABLE "othertests_pa" ADD CONSTRAINT "c_id_referencing_othertests_pc_id" FOREIGN KEY ("c_id") REFERENCES "othertests_pc" ("id");')]
|
{<class 'othertests.manager_schema_manipulation.PC'>: [BoundStatement('ALTER TABLE "othertests_pa" ADD CONSTRAINT "c_id_referencing_othertests_pc_id" FOREIGN KEY ("c_id") REFERENCES "othertests_pc" ("id");')]}
|
||||||
|
|
||||||
# NOTE: restore real constraint flag
|
# NOTE: restore real constraint flag
|
||||||
>>> PA._meta.connection_info.backend.supports_constraints = real_cnst
|
>>> PA._meta.connection_info.backend.supports_constraints = real_cnst
|
||||||
|
|
||||||
# Models with many-many relationships will also have pending statement
|
# Models with many-many relationships may also have pending statement
|
||||||
# lists. Like other pending statements, these should be executed after
|
# lists. Like other pending statements, these should be executed after
|
||||||
# all models in the app have been installed.
|
# all models in the app have been installed. If the related table's model
|
||||||
|
# has already been created, then there will be no pending list.
|
||||||
|
|
||||||
>>> QC.objects.install()
|
>>> QC.objects.install()
|
||||||
[]
|
{}
|
||||||
>>> QD.objects.install()
|
>>> QD.objects.install()
|
||||||
[BoundStatement('CREATE TABLE "othertests_qd_qcs" (...);')]
|
{}
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user