質問するログイン新規登録

質問編集履歴

4

2019/08/13 15:25

投稿

mito.2357
mito.2357

スコア19

title CHANGED
File without changes
body CHANGED
@@ -54,7 +54,7 @@
54
54
  user = ユーザー名
55
55
  password =パスワード
56
56
 
57
- engine = create_engine(f'mysql://{user}:{password}@{host}/{database}?charset=utf8', convert_unicode=True)
57
+ engine = create_engine(f'mysql+pymysql://{user}:{password}@{host}/{database}?charset=utf8', convert_unicode=True)
58
58
 
59
59
  Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
60
60
  s = Session()

3

ソース追記

2019/08/13 15:25

投稿

mito.2357
mito.2357

スコア19

title CHANGED
File without changes
body CHANGED
@@ -65,6 +65,17 @@
65
65
  import models
66
66
  Base.metadata.create_all(engine)
67
67
  ```
68
+ ```python
69
+ # do_create.py
70
+ from database import init_db
71
+
72
+ try:
73
+ init_db()
74
+ except Exception as e:
75
+ import traceback
76
+ print(traceback.format_exc())
77
+
78
+ ```
68
79
  ### 補足
69
80
  Anacondaを使ってpythonファイルを実行しています。
70
81
  mysqlClientはAnacondaからインストールしました。

2

traseback追記

2019/08/13 14:44

投稿

mito.2357
mito.2357

スコア19

title CHANGED
File without changes
body CHANGED
@@ -11,11 +11,40 @@
11
11
  常に発生する場合:
12
12
  CGIのパーミッション設定に誤りがある。 / CGIのソースコードに問題がある。/ .htaccess の記述に誤りがある。
13
13
  ```
14
+ 以下追記
15
+ ```
16
+ Traceback (most recent call last):
17
+ File: "/home/mydomain/mydomain.com/public_html/test/do_create.py", line 4, in init_db()
18
+ File: "/home/mydomain/mydomain.com/public_html/test/database.py", line 21, in init_db Base.metadata.create_all(engine)
19
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/sqlalchemy/sql/schema.py", line 4287, in create_all ddl.SchemaGenerator, self, checkfirst=checkfirst, tables=tables
20
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 2032, in _run_visitor with self._optional_conn_ctx_manager(connection) as conn:
21
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/contextlib.py", line 112, in __enter__ return next(self.gen)
22
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 2024, in _optional_conn_ctx_manager with self._contextual_connect() as conn:
23
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 2226, in _contextual_connect self._wrap_pool_connect(self.pool.connect, None),
24
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 2262, in _wrap_pool_connect return fn()
25
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/sqlalchemy/pool/base.py", line 363, in connect return _ConnectionFairy._checkout(self)
26
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/sqlalchemy/pool/base.py", line 760, in _checkout fairy = _ConnectionRecord.checkout(pool)
27
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/sqlalchemy/pool/base.py", line 492, in checkout rec = pool._do_get()
28
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/sqlalchemy/pool/impl.py", line 139, in _do_get self._dec_overflow()
29
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__ compat.reraise(exc_type, exc_value, exc_tb)
30
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 154, in reraise raise value
31
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/sqlalchemy/pool/impl.py", line 136, in _do_get return self._create_connection()
32
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/sqlalchemy/pool/base.py", line 308, in _create_connection return _ConnectionRecord(self)
33
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/sqlalchemy/pool/base.py", line 437, in __init__ self.__connect(first_connect_check=True)
34
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/sqlalchemy/pool/base.py", line 639, in __connect connection = pool._invoke_creator(self)
35
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/sqlalchemy/engine/strategies.py", line 114, in connect return dialect.connect(*cargs, **cparams)
36
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 451, in connect return self.dbapi.connect(*cargs, **cparams)
37
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/pymysql/__init__.py", line 94, in Connect return Connection(*args, **kwargs)
38
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/pymysql/connections.py", line 253, in __init__ self.ctx = self._create_ssl_ctx(ssl)
39
+ File: "/home/mydomain/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/pymysql/connections.py", line 330, in _create_ssl_ctx ca = sslp.get('ca') AttributeError: 'str' object has no attribute 'get'
40
+ ```
41
+ ※File毎に改行しました。
14
42
  ### 該当のソースコード
15
43
 
16
44
  init_db関数を実行すると上記のエラーが発生します。
17
45
 
18
46
  ```python
47
+ # database.py
19
48
  from sqlalchemy import create_engine
20
49
  from sqlalchemy.ext.declarative import declarative_base
21
50
  from sqlalchemy.orm import sessionmaker

1

2019/08/13 14:35

投稿

mito.2357
mito.2357

スコア19

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,7 @@
1
1
  ### 前提・実現したいこと
2
2
  Web上でMySQlを動作させたいです。
3
3
  SQliteを使った場合は正常に動作しましたが、MySQLに変えるとクエリの無いページのみ閲覧できる状態になりました。テーブルが存在していないからだろうと思いテーブルを作成する関数を呼び出すと、トップページの時点で下記のようなエラーが発生しました。
4
+ ローカル環境ではMySQLでも正常に動作しました。
4
5
 
5
6
  ### 発生している問題・エラーメッセージ
6
7