Многократная ошибка базы данных Symfony Propel - PullRequest
0 голосов
/ 19 ноября 2010

Я сделал это но это не сработало.

Я создал:

propel.schema.xml

propel.schema.yml

# config/propel.schema.yml
propel:
  article:
    id:           ~

другая конфигурация дБ

orgdb.schema.xml

<?xml version="1.0" encoding="UTF-8"?>
 <database name="orgdb" defaultIdMethod="native" noXsd="true" package="lib.model">
 <table name="organization">
   <column name="id" type="INTEGER" primaryKey="true" required="true" autoIncrement="true"/>   

orgdb.schema.yml

# config/orgdb.schema.yml
orgdb:
  organization:
    id:           ~

в database.yml

# You can find more information about this file on the symfony website:
# http://www.symfony-project.org/reference/1_4/en/07-Databases

dev:
  propel:
    param:
      classname:  DebugPDO
      debug:
        realmemoryusage: true
        details:
          time:       { enabled: true }
          slow:       { enabled: true, threshold: 0.1 }
          mem:        { enabled: true }
          mempeak:    { enabled: true }
          memdelta:   { enabled: true }

test:
  propel:
    param:
      classname:  DebugPDO

all:
  propel:
    class:        sfPropelDatabase
    param:
      classname:  PropelPDO
      dsn:        mysql:dbname=db1;host=localhost
      username:   
      password:   
      encoding:   utf8
      persistent: true
      pooling:    true

  orgdb:
    class:        sfPropelDatabase
    param:
      classname:  PropelPDO
      dsn:        mysql:dbname=db2;host=localhost
      username:   
      password:   
      encoding:   utf8
      persistent: true
      pooling:    true

Я вызываю эту команду:

php symfony propel:build-model

У меня нет проблем с покупкой, когда я захожу на сайт и вижу ошибку

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db1.organization' doesn't exist

когда я вызываю эту команду:

php symfony propel:build --all

ошибка в cmd равна

  Fatal error: Call to a member function addTable() on a non-object in C:\PHP...\lib\vendor\symfony\lib\plugins\sfpropelPlugin\lib\vendor\propel-generator\classes\propel\phing\PropelSQLTask.php on line 237

есть идеи?

Спасибо

1 Ответ

1 голос
/ 19 ноября 2010

Я решил проблему.

когда вы создаете propel.schema.yml, propel.schema.xml, orgdb.schema.yml и orgdb.schema.xml, вам нужно поместить пакет, потому что вы не помещаете все вещи, созданные в одном пакете. Затем вы можете добавить его в одной схеме (yml и xml) или в обе

например

в propel.schema.xml

<?xml version="1.0" encoding="UTF-8"?>
 <database name="propel" defaultIdMethod="native" noXsd="true" package="lib.model.propel">
    <table name="article">
     ...

и в propel.schema.yml

# config/propel.schema.yml
propel:
  _attributes: {package: lib.model.propel}
  article:
     ...

удачи.

...