저는 PHP, Silex에 익숙하지 않으며 이러한 기술을 사용하여 코드 기반의 상단에 작은 응용 프로그램을 개발 중입니다. 이 같은 (연결 개체 같은) - - $ 응용 프로그램 [ 'DB'] - 코드베이스에서 Doctrine DBAL Schema 테이블을 사용하여 테이블을 만들 수 없습니다.
내가 데이터베이스 객체를 얻고있다$app->register(new Silex\Provider\DoctrineServiceProvider(), array(
'db.options' => array(
'driver' => 'pdo_sqlite',
'path' => __DIR__.'/app.db',
),
));
$ 응용 프로그램을 [ 'DB'] 사용할 수 있습니다 기존 데이터베이스에서 데이터를 가져오고 제대로 작동하고 있습니다.
그러나 나는 다음과 같은 코드를 사용하여 기존의 DB에 테이블을 추가 할 때 - 나중에
use Doctrine\DBAL\Schema\Table;
$schema = $app['db']->getSchemaManager();
if (!$schema->tablesExist('users'))
{
$users = new Table('users');
$users->addColumn('id', 'integer', array('unsigned' => true, 'autoincrement' => true));
$users->setPrimaryKey(array('id'));
$users->addColumn('username', 'string', array('length' => 32));
$users->addUniqueIndex(array('username'));
$users->addColumn('password', 'string', array('length' => 255));
}
나는 예외 다음 얻을 사용자 테이블에 레코드를 삽입하려고 -
3/3 AbstractSQLiteDriver.php의 TableNotFoundException 라인 58 : 'SELECT * FROM users WHERE id =?'를 실행하는 동안 예외가 발생했습니다. PARAMS와 [0]
SQLSTATE [HY000] 일반 오류 1 그러한 테이블 : 사용자
2/3 PDOException PDOConnection.php 라인 79 : SQLSTATE [HY000] 일반 오류 1에게 그러한 테이블 : PDOConnection.php 라인 (77)의 사용자
1/3 PDOException는 : SQLSTATE [HY000] 일반 오류 1 그러한 테이블 : 사용자
는 I 코드의 상기 부분이 실행되고 있는지 확인하지 않는다. 자격 증명을 모르는 경우 데이터베이스에 새 테이블을 만드는 방법을 알려주십시오.
데이터베이스에 대한 쓰기 권한이없는 것으로 의심됩니다.
미리 감사드립니다.
P 감사합니다. –
작동하는 경우 내 대답을 수락 할 수 있습니다.) –